// package com.liangtian.mdm.material.controller;
//
// import com.alibaba.fastjson.JSON;
// import com.alibaba.fastjson.JSONObject;
// import com.github.pagehelper.PageInfo;
// import com.liangtian.mdm.activiti.api.entity.RunState;
// import com.liangtian.mdm.activiti.api.entity.ShForm;
// import com.liangtian.mdm.activiti.api.entity.TjForm;
// import com.liangtian.mdm.base.controller.BaseController;
// import com.liangtian.mdm.base.utils.ShiroSessionUtils;
// import com.liangtian.mdm.dm.common.pojo.ResponseMsg;
// import com.liangtian.mdm.dm.jsp.dao.JspActionDao;
// import com.liangtian.mdm.material.common.systemParameter.SysParametersUtil;
// import com.liangtian.mdm.material.excel.WlApplyTempalteExport;
// import com.liangtian.mdm.material.model.*;
// import com.liangtian.mdm.material.service.*;
// import com.liangtian.mdm.system.business.model.SysBusiness;
// import com.liangtian.mdm.system.business.service.SysBusinessService;
// import com.liangtian.mdm.system.file.model.SysFile;
// import com.liangtian.mdm.system.file.service.SysFileService;
// import com.liangtian.mdm.system.log.SysLogUtil;
// import com.liangtian.mdm.system.log.model.SysLogEnum;
// import com.liangtian.mdm.system.log.service.SysLogService;
// import com.liangtian.mdm.system.parameter.service.SysParameterService;
// import com.liangtian.mdm.system.thumbnail.dao.SysThumbnaiDao;
// import com.liangtian.mdm.system.thumbnail.model.SysThumbnai;
// import com.liangtian.mdm.system.user.model.SysUser;
// import com.liangtian.mdm.util.ConstantBean;
// import com.liangtian.mdm.util.RequestUtils;
// import com.liangtian.mdm.util.StringUtil;
// import org.apache.commons.lang3.ObjectUtils;
// import org.apache.commons.lang3.StringUtils;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.stereotype.Controller;
// import org.springframework.web.bind.annotation.*;
// import org.springframework.web.multipart.MultipartFile;
// import org.springframework.web.multipart.commons.CommonsMultipartFile;
//
// import javax.servlet.http.HttpServletRequest;
// import javax.servlet.http.HttpServletResponse;
// import java.io.IOException;
// import java.io.InputStream;
// import java.util.*;
//
// @Controller
// @RequestMapping("/wldr")
// public class WlDrController extends BaseController {
//     @Autowired
//     private WlDrService wlDrService;
//     @Autowired
//     private WlLbService wlLbService;
//     @Autowired
//     private WlLbmbService wlLbmbService;
//     @Autowired
//     private WlbmLbJldwService wlbmLbJldwService;
//     @Autowired
//     private WlLbmbtzlService wlLbmbtzlService;
//     @Autowired
//     private WorkFlowService workFlowService;
//     // 日志服务接口对象
//     @Autowired
//     SysLogService sysLogServiceImpl;
//     @Autowired
//     private WlwlFieldService wlwlFieldService;
//     @Autowired
//     private SysFileService sysFileService;
//     @Autowired
//     private SysBusinessService sysBusinessService;
//     @Autowired
//     private JspActionDao jspActionDao;
//
//     @Autowired
//     private SysParameterService sysParameterService;
//     @Autowired
//     private SysThumbnaiDao sysThumbnaiDao;
//
//     @Autowired
//     private WlwlService wlwlService;
//
//     private List<WlDr> wlDrListByExport = null;
//     private Map<String, Object> wlDrmap = null;
//
//     // Session中保存的当前登录用户的信息
//     // @Value("${ConstantBean.CURRENT_SESSION_USER}")
//     // private String ConstantBean.CURRENT_SESSION_USER;
//
//     /**
//      * 根据条件查询物料导入表数据
//      *
//      * @param request
//      * @return
//      * @author jyh
//      * @date 2016-09-26
//      */
//     @SuppressWarnings("rawtypes")
//     @RequestMapping(value = "/queryWlDr", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject queryWlDr(HttpServletRequest request) {
//         Map<String, Object> paramMap = RequestUtils.paramToMap(request);
//         if (!"".equals(paramMap.get("state")) && !"null".equals(paramMap.get("state")) && null != paramMap.get("state")) {
//             if ("10".equals(paramMap.get("state"))) {
//                 paramMap.put("status", "2");
//                 paramMap.put("state", "");
//             } else {
//                 paramMap.put("states", paramMap.get("state"));
//                 paramMap.put("state", "");
//             }
//         }
//         String lbbms = (String) paramMap.get("lbbms");
//         if (!StringUtils.isEmpty(lbbms))
//                 paramMap.put("lbbmArray", StringUtil.toList(lbbms));
//         String lbbm = (String) paramMap.get("lbbm");
//         String lbbmx = (String) paramMap.get("lbbmx");
//         if (StringUtils.isEmpty(lbbm))
//             paramMap.put("lbbm", lbbmx);
//         String qcs = (String) paramMap.get("qcs");
//         if (!StringUtils.isEmpty(qcs))
//             paramMap.put("qcArray", spaceToList(qcs));
//         if ("true".equals((String) paramMap.get("submitflag"))) {// 物料代码申请列表查询，只能查询当前登录人
//             SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//             paramMap.put("creator_id", user.getUserId());
//         }
//         String systemCode = sysParameterService.getSysParamValue("systemCode", "MDM");// 获取系统参数systemCode，如果返回值为空则默认返回值为"MDM"
//         if ("WanDa".equals(systemCode)) {
//             paramMap.put("wandaextr1", "true");//万达特殊需求，查询过滤92大类
//         }
//         PageInfo pageInfo = wlDrService.queryWlDr(paramMap);
//         JSONObject jsonObject = new JSONObject();
//         jsonObject.put("rows", pageInfo.getList());//
//         jsonObject.put("total", pageInfo.getTotal());//
//         return jsonObject;
//     }
//
//     /**
//      * 逻辑删除申请数据
//      *
//      * @param request
//      * @return
//      * @author jyh
//      * @date 2016-09-26
//      */
//     @SuppressWarnings("unchecked")
//     @RequestMapping(value = "/logicDelete", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject logicDelete(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         try {
//             Map<String, Object> paramMap = RequestUtils.paramToMap(request);
//             String wyms = request.getParameter("wyms");
//             // 获取session中用户
//             SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//             if (!StringUtils.isEmpty(wyms)) {
//                 String limit = SysParametersUtil.getParameterValueForDefault("wlDrDeleteDaysLimit", "0");
//                 // String limit = "7";
//                 // Map<String, Object> cond = new HashMap<>();
//                 paramMap.put("wyms", toList(wyms));
// 				/*paramMap.put("updateUid", user.getUserId());
// 				paramMap.put("updateUname", user.getUserName());
// 				paramMap.put("limitdays", limit);*/
//                 int delcount = wlDrService.logicDeleteWlDrByIdS(paramMap);
//                 SysLogUtil.insertLog("删除物料[" + wyms + "]",
//                         SysLogEnum.WL_WL.getCode(), SysLogEnum.SC.getCode(), request);
//                 int datacount = wyms.split(",").length;
//                 StringBuffer buffer = new StringBuffer("成功删除" + delcount + "条数据！");
//                 // 如果数据总数大于已被逻辑删除的数据，说明存在处于删除时限下的被驳回数据
//                 //--edit by wangyk at 180607:注释掉下面的逻辑，外部项目不需要
// 				/*if (datacount > delcount) {
// 					paramMap.put("complexcondition", "state='6' and status<>'2'");
// 					List<WlDr> list = wlDrService.queryWlDr(paramMap).getList();
// 					buffer.append("<br>" + limit + "天以内被驳回的数据未被允许删除！数据唯一码为：");
// 					for (int i = 0; i < list.size(); i++) {
// 						buffer.append(list.get(i).getWym());
// 						if (i != list.size() - 1)
// 							buffer.append(",");
// 					}
// 				}*/
//                 jsonObject.put("success", true);
//                 jsonObject.put("msg", buffer.toString());
//             } else {
//                 jsonObject.put("success", false);
//                 jsonObject.put("msg", "参数有误！");
//             }
//         } catch (Exception e) {
//             jsonObject.put("success", false);
//             jsonObject.put("msg", e.getMessage());
//             e.printStackTrace();
//         }
//         return jsonObject;
//
//     }
//
//     /**
//      * 查询物料类别和模板
//      *
//      * @return
//      * @author jiangyh
//      * @date 2016-10-24
//      */
//     @RequestMapping(value = "/queryLbAndMb", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject queryLbAndMb(HttpServletRequest request) {
//         String wlLbId = request.getParameter("wlLbId");
//         JSONObject jsonObject = new JSONObject();
//         if (!StringUtils.isEmpty(wlLbId)) {
//             WlLb wllb = new WlLb();
//             wllb.setLbbmId(wlLbId);
//             WlLb wlLb = wlLbService.getWlLbById(wllb);
//             List<WlLbmb> templates = wlLbmbService.getAllValidWlLbmbByLbbm(wlLb.getLbbm());// 类别模板数据
//             jsonObject.put("wlLb", wlLb);
//             jsonObject.put("templateList", templates);
//         }
//         return jsonObject;
//     }
//
//     /**
//      * 转向物料编辑页
//      *
//      * @return
//      * @author jiangyh
//      * @date 2017-02-14
//      */
//     @RequestMapping(value = "/toWlDrEdit", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject toWlDrEdit(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         String wym = request.getParameter("wym");
//         String template_id = request.getParameter("template_id");
//
//         WlDr wldr = wlDrService.getWlDrByWym(wym);
//         WlLb wllb = new WlLb();
//         wllb.setLbbm(wldr.getLbbm());
//         WlLb wlLb = wlLbService.getWlLbById(wllb);
//         List<WlLbmb> templates = wlLbmbService.getAllValidWlLbmbByLbbm(wlLb.getLbbm());// 类别模板数据
//         template_id = template_id == null ? wldr.getWlLbmbId() : template_id;
//         WlLbmb cond_mb = new WlLbmb();
//         cond_mb.setId(template_id);
//         WlLbmb wlLbmb = wlLbmbService.getWlLbmbById(cond_mb);
//         jsonObject.put("wlDr", wldr);
//         jsonObject.put("wlLb", wlLb);
//         jsonObject.put("templateList", templates);
//         jsonObject.put("currTemplate", wlLbmb);
//         return jsonObject;
//     }
//
//     /**
//      * 导入物料数据新增
//      *
//      * @return
//      * @author jiangyh
//      * @date 2016-10-24
//      */
//     @RequestMapping(value = "/wlDrAdd", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject wlDrAdd(WlDr wlDr, HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         try {
//             String wlDrTzlStr = request.getParameter("wlDrTzlStr");
//             String wlDrLanStr = request.getParameter("wlDrLanStr");
//             // String[] attchIds = request.getParameterValues("attchid");
//             if (!StringUtils.isEmpty(wlDrTzlStr)) {
//                 wlDrService.saveWlDr(wlDr, wlDrTzlStr, wlDrLanStr, request);
//                 jsonObject.put("success", true);
//                 SysLogUtil.insertLog("新增物料[" + wlDr.getQc2() + "][" + wlDr.getWym() + "]",
//                         SysLogEnum.WL_WL.getCode(), SysLogEnum.XZ.getCode(), request);
//             } else {
//                 jsonObject.put("success", false);
//                 jsonObject.put("msg", "特征量数据为空");
//             }
//         } catch (Exception e) {
//             jsonObject.put("success", false);
//             jsonObject.put("msg", e.getMessage());
//             e.printStackTrace();
//         }
//         return jsonObject;
//     }
//
//     /**
//      * 导入物料数据编辑
//      *
//      * @return
//      * @author jiangyh
//      * @date 2017-02-15
//      */
//     @RequestMapping(value = "/wlDrEdit", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject wlDrEdit(HttpServletRequest request) {
//         Map<String, Object> paramMap = RequestUtils.paramToMap(request);
//         JSONObject jsonObject = new JSONObject();
//
//         String shrEdit = request.getParameter("shrEdit");
//         String wlDrTzlStr = request.getParameter("wlDrTzlStr");
//         String wlDrLanStr = request.getParameter("wlDrLanStr");
//         // String[] attchIds = request.getParameterValues("attchid");
//         // String czsq = request.getParameter("czsq");
//         if (!StringUtils.isEmpty(wlDrTzlStr)) {
//             if (!StringUtils.trimToEmpty(shrEdit).equals("1")) {
//                 paramMap.put("state", "0");
//                 paramMap.put("errtext", null);
//                 paramMap.put("zxshyj", null);
//                 paramMap.put("cwlx", null);
//             }
//             // --仅当为参照申请，执行下面的程序
//             /*
//              * if("y".equals(czsq)) wlDrManager.saveWlDr(wlDr, wlDrTzlStr,
//              * wlDrLanStr, toList(attchIds)); else
//              */
//             wlDrService.updateWlDr(paramMap, wlDrTzlStr, wlDrLanStr, request);
//             jsonObject.put("success", true);
//             SysLogUtil.insertLog("编辑物料特征量[" + wlDrTzlStr + "]",
//                     SysLogEnum.WL_WL.getCode(), SysLogEnum.BJ.getCode(), request);
//         } else {
//             jsonObject.put("success", false);
//             jsonObject.put("msg", "特征量数据为空");
//         }
//         return jsonObject;
//     }
//
//     /**
//      * 物料申请页面模板特征量加载
//      *
//      * @return
//      * @author jiangyh
//      * @date 2016-10-24
//      */
//     @RequestMapping(value = "/tzlTemplate", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject tzlTemplate(HttpServletRequest request) {
//         String lbbm = request.getParameter("lbbm");// 物料类别编码
//         String template_id = request.getParameter("template_id");// 物料模板id
//         JSONObject jsonObject = new JSONObject();
//         if (!StringUtils.isEmpty(lbbm)) {
//             WlLb wllb = new WlLb();
//             wllb.setLbbm(lbbm);
//             WlLb wlLb = wlLbService.getWlLbById(wllb);
//             // 获取session中用户
//             SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//             // 类别计量单位
//             Map<String, Object> lbjldwcx = new HashMap<>();
//             lbjldwcx.put("lbbm", lbbm);
//             List<WlbmLbJldw> jldwList = wlbmLbJldwService.getWlbmLbJldwByCond2(lbjldwcx);
//             WlLbmb wlLbmb = null;
//             if (!StringUtils.isEmpty(template_id)) {
//                 WlLbmb mb = new WlLbmb();
//                 mb.setId(template_id);
//                 wlLbmb = wlLbmbService.getWlLbmbById(mb);
//                 // 模板特征量
//                 List<WlLbmbtzlDto> tzlList = wlLbmbtzlService.getWlLbmbtzlDtoListForApplyPage(template_id, false);
//                 // 模板特征量(lan)
//                 Map<String, Object> mbtzl_cond = new HashMap<>();
//                 mbtzl_cond.put("wl_lbmb_id", template_id);
//                 mbtzl_cond.put("lan", "en");
//                 List<WlLbmbtzl> tzlLanList = wlLbmbtzlService.getWlLbmbtzlLanListSimple(mbtzl_cond);
//
//                 jsonObject.put("wlLbmb", wlLbmb);
//                 jsonObject.put("tzlList", tzlList);
//                 jsonObject.put("tzlLanList", tzlLanList);
//             }
//
//             //jyh  -- 17-12-25 新增  查询系统参数systemCode 区分当前系统，用于物料配置字段的条件判断
//             String systemCode = sysParameterService.getSysParamValue("systemCode", "MDM");// 获取系统参数systemCode，如果返回值为空则默认返回值为"MDM"
//             jsonObject.put("systemCode", systemCode);
//
//             // 可配置物料字段
//             Map<String, Object> field_cond = new HashMap<>();
//             field_cond.put("sfbdxs", "1");
//             List<WlwlField> fieldList = wlwlFieldService.queryWlwlFieldByCond(field_cond);
//             filterField(fieldList, lbbm, wlLbmb, systemCode);
//
//             jsonObject.put("wlLb", wlLb);
//             jsonObject.put("user", user);
//             jsonObject.put("jldwList", jldwList);
//             jsonObject.put("fieldList", fieldList);
//
//
//         }
//         return jsonObject;
//     }
//
//     private void filterField(List<WlwlField> fieldList, String lbbm, WlLbmb wlLbmb, String systemCode) {
//         //--edit by wangyk at 180410:新凤鸣定制化需求，07大类模板为产成品的展示物品系列属性，半成品模板不展示物品系列属性
//         if (!StringUtils.isEmpty(wlLbmb) && "XFM".equals(systemCode) && lbbm.startsWith("07")) {
//             String mbName = wlLbmb.getMbname();
//             if (mbName.indexOf("半成品") != -1) {
//                 Iterator<WlwlField> iter = fieldList.iterator();
//                 while (iter.hasNext()) {
//                     WlwlField item = iter.next();
//                     String field = item.getField();
//                     if ("field8".equals(field)) {
//                         iter.remove();
//                     }
//                 }
//             }
//         }
//     }
//
//     /**
//      * 物料编辑页面模板特征量加载
//      *
//      * @return
//      * @author jiangyh
//      * @date 2016-10-24
//      */
//     @SuppressWarnings("unchecked")
//     @RequestMapping(value = "/tzlTemplateEdit", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject tzlTemplateEdit(HttpServletRequest request) {
//         String lbbm = request.getParameter("lbbm");// 物料类别编码
//         String template_id = request.getParameter("template_id");// 物料模板id
//         String wym = request.getParameter("wym");
//         JSONObject jsonObject = new JSONObject();
//         if (!StringUtils.isEmpty(lbbm)) {
//             WlLb wllb = new WlLb();
//             wllb.setLbbm(lbbm);
//             WlLb wlLb = wlLbService.getWlLbById(wllb);
//             // 获取session中用户
//             SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//             // 类别计量单位
//             Map<String, Object> lbjldwcx = new HashMap<>();
//             lbjldwcx.put("lbbm", lbbm);
//             List<WlbmLbJldw> jldwList = wlbmLbJldwService.getWlbmLbJldwByCond2(lbjldwcx);
//
//             WlLbmb wlLbmb = null;
//             if (!StringUtils.isEmpty(template_id)) {
//                 WlLbmb mb = new WlLbmb();
//                 mb.setId(template_id);
//                 wlLbmb = wlLbmbService.getWlLbmbById(mb);
//                 // 模板特征量
//                 List<WlLbmbtzlDto> tzlList = wlLbmbtzlService.getWlLbmbtzlDtoListForApplyPage(template_id, false);
//                 // 模板特征量(lan)
//                 Map<String, Object> mbtzl_cond = new HashMap<>();
//                 mbtzl_cond.put("wl_lbmb_id", template_id);
//                 mbtzl_cond.put("lan", "en");
//                 List<WlLbmbtzl> tzlLanList = wlLbmbtzlService.getWlLbmbtzlLanListSimple(mbtzl_cond);
//
//                 jsonObject.put("wlLbmb", wlLbmb);
//                 jsonObject.put("tzlList", tzlList);
//                 jsonObject.put("tzlLanList", tzlLanList);
//             }
//
//             WlDr wlDr = wlDrService.getWlDrByWym(wym);
//             Map<String, Object> cond = new HashMap<>();
//             cond.put("wl_dr_id", wym);
//             if (!StringUtils.isEmpty(template_id)) {
//                 List<WlDrTzl> wlDrTzlList = wlDrService.getWlDrTzl(cond);
//                 if (!StringUtils.isEmpty(wlDrTzlList)) {
//                     /*
//                      * Map<String, WlDrTzl> map = new HashMap<String,
//                      * WlDrTzl>(); for(WlDrTzl wlDrTzl : wlDrTzlList){
//                      * map.put(wlDrTzl.getWlLbmbtzlId(), wlDrTzl); }
//                      * jsonObject.put("wlDrTzlMap", map);
//                      */
//                     jsonObject.put("wlDrTzlList", wlDrTzlList);
//                 }
//             }
//
//             //jyh  -- 17-12-25 新增  查询系统参数systemCode 区分当前系统，用于物料配置字段的条件判断
//             String systemCode = sysParameterService.getSysParamValue("systemCode", "MDM");// 获取系统参数systemCode，如果返回值为空则默认返回值为"MDM"
//             jsonObject.put("systemCode", systemCode);
//
//             // 可配置物料字段
//             Map<String, Object> field_cond = new HashMap<>();
//             field_cond.put("sfbdxs", "1");
//             List<WlwlField> fieldList = wlwlFieldService.queryWlwlFieldByCond(field_cond);
//             filterField(fieldList, lbbm, wlLbmb, systemCode);
//             jsonObject.put("fieldList", fieldList);
//
//             // 附件信息
// 			/*SysBusiness sysb = new SysBusiness();
// 			sysb.setBusTable("WL_WL");
// 			sysb.setLimit("20");// 由于调用分页方法，该属性需要有值
// 			List<SysBusiness> bList = sysBusinessService.queryBusByContion(sysb).getList();// 查询业务类型
// 			String bus_id = bList.get(0).getBusId();// 业务类型*/
//             Map<String, Object> param = new HashMap<>();
//             param.put("dataId", wym);
//             param.put("surveyType", "WL_WL");
//             List<SysFile> files = sysFileService.queryFileBySurvey(param);
//             if (!StringUtils.isEmpty(files))
//                 jsonObject.put("files", files);
//
//             jsonObject.put("wlDr", wlDr);
//             jsonObject.put("wlLb", wlLb);
//             jsonObject.put("user", user);
//             jsonObject.put("jldwList", jldwList);
//
//             // jyh -- 17-08-17新增(万达专有)
//             // 物料创建页面增加2个字段【轮胎认证】【ERP物料模版】已在物料动态配置字段中维护，前台页面需下拉列表展示
//             // 字段值维护在动态建模字典表中
//             //boolean flag = feild_WD(fieldList);
//             //jyh  -- 17-12-25 物料可配置字段的名字可以修改 ，改为通过系统参数来确定是不是万达系统
//             if ("WanDa".equals(systemCode)) {
//                 Map<String, Object> f_cond = new HashMap<>();
//                 f_cond.put("columns", "id,C_001");
//                 f_cond.put("tableName", "T_1828");
//                 List<Map<String, Object>> field4List = jspActionDao.queryList(f_cond);// 轮胎认证值list
//                 f_cond.put("tableName", "T_1827");
//                 List<Map<String, Object>> field5List = jspActionDao.queryList(f_cond);// ERP物料模版值list
//                 jsonObject.put("field4List", field4List);
//                 jsonObject.put("field5List", field5List);
//             }
//             // 万达专有 ---END---
//             //--edit by wangyk at 180703:新凤鸣物品系列查询出对应的下拉列表
//             else if ("XFM".equals(systemCode)) {
//                 Map<String, Object> f_cond = new HashMap<>();
//                 f_cond.put("cond", lbbm);
//                 f_cond.put("field", "field8");
//                 List<WlwlFieldSelectValue> fieldSelectValueList = wlwlFieldService.queryWlwlFieldSelectValueListByCond(f_cond);
//                 jsonObject.put("field8List", fieldSelectValueList);
//             }
//             //--edit by wangyk at 180703:end
//         }
//         return jsonObject;
//     }
//
//     @RequestMapping(value = "/tzlTemplateZh", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject tzlTemplateZh(HttpServletRequest request) {
//         String template_id = request.getParameter("template_id");// 物料模板id
//         JSONObject jsonObject = new JSONObject();
//         if (!StringUtils.isEmpty(template_id)) {
//             WlLbmb mb = new WlLbmb();
//             mb.setId(template_id);
//             WlLbmb wlLbmb = wlLbmbService.getWlLbmbById(mb);// 物料类别模板
//             // 模板特征量
//             List<WlLbmbtzlDto> tzlList = wlLbmbtzlService.getWlLbmbtzlDtoListForApplyPage(template_id, false);
//             jsonObject.put("wlLbmb", wlLbmb);
//             jsonObject.put("tzlList", tzlList);
//         }
//         return jsonObject;
//     }
//
//     /**
//      * 校验导入的物料
//      *
//      * @return
//      * @author jiangyh
//      * @date 2017-02-08
//      */
//     @RequestMapping(value = "/wlDrCheckout", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject wlDrCheckout(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         // 获取session中用户
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         String lbbm = request.getParameter("lbbm");
//         if (!StringUtils.isEmpty(lbbm)) {
//             Map<String, Object> cond = new HashMap<>();
//             cond.put("lbbm", lbbm);
//             cond.put("creatorAccount", user.getUserAccount());
//             String result = wlDrService.checkoutWlDr(cond);
//             jsonObject.put("success", true);
//             jsonObject.put("msg", result);
//         } else {
//             jsonObject.put("success", false);
//             jsonObject.put("msg", "未指定具体小类！");
//         }
//         return jsonObject;
//
//     }
//
//     /**
//      * 物料提交
//      *
//      * @return
//      * @author jiangyh
//      * @date 2017-02-08
//      */
//     @RequestMapping(value = "/wlDrSubmit", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject wlDrSubmit(@RequestBody List<TjForm> forms) {
//         JSONObject jsonObject = new JSONObject();
//         if (forms.size() > 0) {
//             List<TjForm> tjlst = new ArrayList<TjForm>();
//             try {
//                 tjlst = workFlowService.submitFlowElse(forms);
//                 // List<String> mtj = new ArrayList<String>();//提交前校验未通过，未被允许提交
//                 List<String> fails = new ArrayList<String>();// 发起流程失败的
//                 List<String> ends = new ArrayList<String>();// 未找到配置的流程
//                 int flowSuccCount = 0;
//                 List<String> wyms = new ArrayList<String>();
//                 for (int i = 0; i < tjlst.size(); i++) {
//                     TjForm tjfrom = tjlst.get(i);
//                     RunState runState = tjfrom.getRunState();
//                     switch (runState) {
//                         case RUNNING:
//                             flowSuccCount++;
//                             wyms.add(tjfrom.getDataId());
//                             break;
//                         case ERROR:
//                             fails.add(tjfrom.getDataId());
//                             break;
//                         default:
//                             break;
//                     }
//
//                 }
//
//                 // 更新导入表的状态为待审核
//                 if (!ObjectUtils.isEmpty(wyms)) {
//                     Map<String, Object> cond = new HashMap<>();
//                     cond.put("state", 5);
//                     cond.put("wyms", wyms);
//                     wlDrService.updateWlDr(cond);
//                 }
//
//                 StringBuilder strBuilder = new StringBuilder();
//                 if (!ObjectUtils.isEmpty(fails)) {
//                     strBuilder.append("<br/>发起流程失败：").append(StringUtil.join(fails, " "));
//
//                 }
//                 if (!ObjectUtils.isEmpty(ends)) {
//                     strBuilder.append("<br/>未指定有效流程：").append(StringUtil.join(ends, ","));
//                 }
//                 jsonObject.put("success", true);
//                 jsonObject.put("flowSuccCount", flowSuccCount);
//                 jsonObject.put("msg", strBuilder.toString());
//             } catch (Exception e) {
//                 e.printStackTrace();
//             }
//         } else {
//             jsonObject.put("success", false);
//             jsonObject.put("msg", "参数有误！");
//         }
//         return jsonObject;
//     }
//
//     /**
//      * 物料校验、提交整合
//      *
//      * @return
//      * @author jiangyh
//      * @date 2017-03-24
//      */
//     @RequestMapping(value = "/wldrCheckAndSubmit", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject wldrCheckAndSubmit(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         boolean success_check = false;// 标记校验是否执行成功
//         boolean success_submit = false;// 标记提交是否执行成功
//         String msg_check = "3";// 物料校验错误描述，默认为全部通过
//         String msg_submit = "";// 物料提交错误描述
//         // 2017-07-14 取消限制只能提交一个小类下的数据
//         String lbbms = request.getParameter("lbbms");
//         String wyms_x = request.getParameter("wyms");
//         String limit = request.getParameter("limit");
//
//         // 0. 增加提交数据范围内的重复校验
//         // List<WlDr> checkByCur = wlDrService.checkByCur(wyms_x);
//         // if(null!=checkByCur&&checkByCur.size()>0) {
//         // String repTemp = "";
//         // for(WlDr wldr :checkByCur) {
//         // repTemp+=wldr.getQc2()+",";
//         // }
//         // jsonObject.put("success_check",success_check);
//         // jsonObject.put("success_submit",success_submit);
//         // jsonObject.put("msg_check","0");
//         // jsonObject.put("msg_submit","("+repTemp +")  \n描述重复 ,请确认");
//         // return jsonObject;
//         // }
//
//         // 1.物料校验
//         // 获取session中用户
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         if (!StringUtils.isEmpty(lbbms)) {
// 			/*//2017-12-07 增加校验当前提交数据中是否存在长描述重复的数据
// 			Map<String, Object> cond_sub = new HashMap<>();
// //			cond_sub.put("state", "0");
// 			cond_sub.put("wyms", toList(wyms_x));
// 			List<WlDr> wldrs = wlDrService.queryWlDrByCond(cond_sub);//数据列表
// 			Map<String,String> map = new HashMap<String, String>();
// 			String wym_r = "";
// 			for (WlDr wlDr : wldrs) {
// 				String qc2 = wlDr.getQc2();
// 				String wym = wlDr.getWym();
// 				if(!StringUtils.isEmpty(map.get(qc2)))
// 					map.put(qc2, map.get(qc2)+","+wym);
// 				else
// 					map.put(qc2, wym);
// 			}
// 			Iterator<String> it2 = map.keySet().iterator();
// 			while(it2.hasNext()){
// 				String obj = it2.next();
// 				if(map.get(obj).split(",").length>1)
// 					wym_r += "【"+map.get(obj)+"】";
// 			}*/
// //			if(StringUtils.isEmpty(wym_r)){
//             // 得到当前批次提交数据的小类 --- 去重
//             Map<String, String> lbbm_map = new HashMap<String, String>();
//             //--edit by wangyk at ：这里修改lbbm_map的存放，key为lbbm，value当前lbbm前台沟勾选的wyms。
//             //--假设前台勾选了3条数据，两个010101的wym，1个010102的wym.那么map的size为2，key分别为010101和010102，value分别是这两个类别下的wyms
// 				/*
// 				for (String s : lbbms.split(","))
// 					lbbm_map.put(s, s);
// 				*/
//             String[] lbbmArr = lbbms.split(",");
//             String[] wymsArr = wyms_x.split(",");
//             for (int a = 0; a < lbbmArr.length; a++) {
//                 if (lbbm_map.containsKey(lbbmArr[a])) {
//                     String newWyms = lbbm_map.get(lbbmArr[a]) + "," + wymsArr[a];
//                     lbbm_map.put(lbbmArr[a], newWyms);
//                 } else {
//                     lbbm_map.put(lbbmArr[a], wymsArr[a]);
//                 }
//
//             }
//             Iterator<String> it = lbbm_map.keySet().iterator();
//             // 校验每个小类下的数据
//             while (it.hasNext()) {
//                 String lbbm = it.next();
//                 Map<String, Object> cond = new HashMap<>();
//                 cond.put("lbbm", lbbm);
//                 cond.put("creatorAccount", user.getUserAccount());
//                 cond.put("wyms", lbbm_map.get(lbbm));
//                 String result = wlDrService.checkoutWlDr(cond);
//                 if (!"3".equals(result))
//                     msg_check = "1";
//             }
//             success_check = true;
// //			}else
// //				msg_check = "当前提交物料中存在长描述重复数据："+wym_r;
//         } else {
//             msg_check = "未指定具体小类！";
//         }
//
//         // 2.物料提交
//         if (success_check) {
//             Map<String, Object> sub_res = submit(wyms_x);
//             success_submit = (Boolean) sub_res.get("success_submit");
//             msg_submit = (String) sub_res.get("msg_submit");
//             jsonObject.put("flowSuccCount", (Integer) sub_res.get("flowSuccCount"));// 成功提交物料数量
// //			jsonObject.put("checkErrorCount", toList(wyms_x).size()-(Integer) sub_res.get("flowSuccCount"));//提交或校验失败物料数量
//             SysLogUtil.insertLog("提交物料[" + wyms_x + "]",
//                     SysLogEnum.WL_WL.getCode(), SysLogEnum.TJ.getCode(), request);
//         }
//         jsonObject.put("success_check", success_check);
//         jsonObject.put("success_submit", success_submit);
//         jsonObject.put("msg_check", msg_check);
//         jsonObject.put("msg_submit", msg_submit);
//
//         return jsonObject;
//     }
//
//     private Map<String, Object> submit(String wyms_x) {
//         Map<String, Object> sub_res = new HashMap<>();
//         // 查询该类别下有效可提交物料数据
//         Map<String, Object> cond_sub = new HashMap<>();
//         cond_sub.put("state", "3");
//         cond_sub.put("wyms", toList(wyms_x));
//         cond_sub.put("complexcondition", "extend2 is null");// 查待提交的物料
//         List<WlDr> wldr_sub = wlDrService.queryWlDrByCond(cond_sub);// 待提交的物料
//         List<TjForm> forms = new ArrayList<TjForm>();
//         if (!StringUtils.isEmpty(wldr_sub)) {
//             for (int i = 0; i < wldr_sub.size(); i++) {
//                 TjForm tjForm = new TjForm();
//                 tjForm.setDataId(wldr_sub.get(i).getWym());
//                 tjForm.setOperType("submit");
//                 tjForm.setTableName("WL_WL");
//                 tjForm.setDataType(wldr_sub.get(i).getLbbm().substring(0, 2));
//                 forms.add(tjForm);
//             }
//         }
//         if (forms.size() > 0) {
//             try {
//                 List<String> wyms_gx = new ArrayList<String>();
//                 for (TjForm tjForm : forms)
//                     wyms_gx.add(tjForm.getDataId());
//                 Map<String, Object> gxcond = new HashMap<>();
//                 gxcond.put("extend2", "1");// 利用extend2字段做锁控制
//                 //cond_sub.put("state", "3");//--edit by wangyk at 180312:该行代码无任何意义，暂注释掉。
//                 gxcond.put("wyms", wyms_gx);
//                 gxcond.put("complexcondition", "extend2 is null");
//                 wlDrService.updateWlDr(gxcond);
//                 List<TjForm> tjlst = new ArrayList<TjForm>();
//
//                 String systemCode = sysParameterService.getSysParamValue("systemCode", "MDM");// 获取系统参数systemCode，如果返回值为空则默认返回值为"MDM"
//                 String useOaWorkflow = sysParameterService.getSysParamValue("useOaWorkflow", "false");// 获取系统参数useOaWorkflow，如果返回值为空则默认返回值为"false"
//                 tjlst = workFlowService.submitFlowElse(forms);
//
//                 // List<String> mtj = new ArrayList<String>();//提交前校验未通过，未被允许提交
//                 List<String> fails = new ArrayList<String>();// 发起流程失败的
//                 List<String> ends = new ArrayList<String>();// 未找到配置的流程
//                 List<String> passeds = new ArrayList<String>();// 未找到配置的流程
//                 int flowSuccCount = 0;
//                 List<String> wyms = new ArrayList<String>();
//                 List<String> errorWyms = new ArrayList<String>();
//                 for (int i = 0; i < tjlst.size(); i++) {
//                     TjForm tjfrom = tjlst.get(i);
//                     RunState runState = tjfrom.getRunState();
//                     switch (runState) {
//                         case RUNNING:
//                             flowSuccCount++;
//                             wyms.add(tjfrom.getDataId());
//                             break;
//                         case ERROR:
//                             fails.add(tjfrom.getDataId());
//                             errorWyms.add(tjfrom.getDataId());
//                             break;
//                         case PASSED:
//                             passeds.add(tjfrom.getDataId());
//                             break;
//                         default:
//                             break;
//                     }
//
//                 }
//
//                 // 更新导入表的状态为待审核
//                 if (!StringUtils.isEmpty(wyms)) {
//                     Map<String, Object> cond = new HashMap<>();
//                     cond.put("state", 5);
//                     cond.put("submitcount", 1);// 随便赋值，最后在sql中处理
//                     cond.put("wyms", wyms);
//                     cond.put("submitTime", "1");// 随便赋值，最后在sql中处理
//                     wlDrService.updateWlDr(cond);
//                 }
//
//                 // 流程处理失败 更新导入表的状态为草稿
//                 if (!StringUtils.isEmpty(errorWyms)) {
//                     Map<String, Object> cond = new HashMap<>();
//                     cond.put("state", "0");
//                     cond.put("wyms", errorWyms);
//                     wlDrService.updateWlDr(cond);
//                 }
//
//                 if (!StringUtils.isEmpty(passeds)) {
//                     SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//                     Map<String, String> cond = new HashMap<String, String>();
//                     for (int a = 0; a < passeds.size(); a++) {
//                         cond.put("wym", passeds.get(a));
//                         cond.put("state", "4");
//                         cond.put("zxshyj", "自动生成物料编码");
//                         cond.put("sprbm", user.getUserId().toString());
//                         cond.put("sprmc", user.getUserName());
//                         // 最后节点审批通过，生成物料代码
//                         wlDrService.createWl(cond);// 在存储过程中更新物料表
//                     }
//                 }
//
//                 StringBuffer buffer = new StringBuffer();
//                 if (!StringUtils.isEmpty(fails)) {
//                     buffer.append("发起流程失败：" + StringUtil.arrayToStringBySplit(fails, " "));
//                 }
//                 if (!StringUtils.isEmpty(ends)) {
//                     buffer.append("未指定有效流程：" + StringUtil.arrayToStringBySplit(ends, ","));
//                 }
//                 if (!StringUtils.isEmpty(fails)) {
//                     sub_res.put("success_submit", false);
//                 } else {
//                     sub_res.put("success_submit", true);
//                 }
//                 sub_res.put("msg_submit", "该类别下无有效可提交数据！");
//                 sub_res.put("flowSuccCount", flowSuccCount);
//                 sub_res.put("msg_submit", buffer.toString());
//
//             } catch (Exception e) {
//                 e.printStackTrace();
//             }
//
//             // 解除锁控制
//             Map<String, Object> jscond = new HashMap<>();
//             jscond.put("extend2", "");
//             jscond.put("wyms", toList(wyms_x));
//             jscond.put("complexcondition", " extend2 is not null");
//             wlDrService.updateWlDr(jscond);
//
//         } else {
//             sub_res.put("success_submit", false);
//             sub_res.put("msg_submit", "该类别下无有效可提交数据！");
//         }
//
//         return sub_res;
//     }
//
//     /**
//      * 查询用户待审核物料数据
//      *
//      * @param request
//      * @return
//      * @author jiangyh
//      * @date 2016-10-24
//      */
//     @SuppressWarnings("rawtypes")
//     @RequestMapping(value = "/queryApprove", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject queryApprove(HttpServletRequest request) {
//         /*
//          * // 获取session中用户 SysUser user =
//          * ShiroSessionUtils.getSessionSysUser(ConstantBean
//          * .CURRENT_SESSION_USER); Map<String, Object> paramMap =
//          * RequestUtils.paramToMap(request); paramMap.put("survey_type",
//          * Constants.WLWLDR); paramMap.put("oper_type", Constants.OPER_TJ);
//          * paramMap.put("reviewer", "User("+user.getUserId()+")");
//          * paramMap.put("state", "5");
//          * if(StringUtils.isEmpty((String)cond.get("sort"))){
//          * paramMap.put("sort", "submit_time"); paramMap.put("order", "asc"); }
//          */
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         // 查询条件
//         Map<String, Object> param = RequestUtils.paramToMap(request);
//         String lbbms = (String) param.get("lbbms");
//         if (!StringUtils.isEmpty(lbbms))
//             param.put("lbbmArray2", StringUtil.toList(lbbms));
//         String qcs = (String) param.get("qcs");
//         if (!StringUtils.isEmpty(qcs))
//             param.put("qcArray2", spaceToList(qcs));
//         String opertype = (String) param.get("opertype");
//         if (!StringUtils.isEmpty(opertype))
//             param.put("oper_type", opertype);
//         param.put("approveUserId", String.valueOf(user.getUserId()));
//         param.put("tableName", "WL_WL_DR");
//         param.put("modifyTableName", "WL_WL_UPDATE");
//         param.put("busiTable", "WL_WL");
//         PageInfo pageInfo = wlDrService.queryWlDrApprove(param);
//         JSONObject jsonObject = new JSONObject();
//         jsonObject.put("rows", pageInfo.getList());// JSONArray
//         jsonObject.put("total", pageInfo.getTotal());//
//         return jsonObject;
//     }
//
//     /**
//      * 物料审核
//      *
//      * @param request
//      * @return
//      * @author jiangyh
//      * @date 2016-10-24
//      */
//     @RequestMapping(value = "/wlDrApprove", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject wlDrApprove(@RequestBody List<ShForm> forms, HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         Map<String, Object> result = wlDrService.wlDrApprove(forms);
//         for (ShForm form : forms) {
//             boolean yj = form.isPass();
//             if (yj) {
//                 SysLogUtil.insertLog("通过审核物料[" + form.getInstanceId() + "]",
//                         SysLogEnum.WL_WL.getCode(), SysLogEnum.SHTG.getCode(), request);
//             } else {
//                 SysLogUtil.insertLog("驳回审核物料[" + form.getInstanceId() + "]",
//                         SysLogEnum.WL_WL.getCode(), SysLogEnum.SHBH.getCode(), request);
//             }
//         }
//         jsonObject.put("success", result.get("flag"));
//         jsonObject.put("succCount", result.get("succCount"));
//         jsonObject.put("msg", result.get("msg"));
//         return jsonObject;
//     }
//
//     @RequestMapping(value = "/view", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject view(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         String wym = request.getParameter("wym");
//         if (!StringUtils.isEmpty(wym)) {
//             WlDr wldr = wlDrService.getApproveByWym(wym);
//             Map<String, Object> cond = new HashMap<>();
//             //EXTEND1字段用来存储变更表的wl_dr_id
//             if (!StringUtils.isEmpty(wldr.getExtend1())) {
//                 cond.put("wl_dr_id", wldr.getExtend1());
//             } else {
//                 cond.put("wl_dr_id", wym);
//             }
//             List<WlDrTzl> tzlList = wlDrService.getWlDrTzl(cond);
//             jsonObject.put("wldr", wldr);
//             jsonObject.put("tzlList", tzlList);
//             // 可配置物料字段
//             Map<String, Object> field_cond = new HashMap<>();
//             field_cond.put("sfbdxs", "1");
//             List<WlwlField> fieldList = wlwlFieldService.queryWlwlFieldByCond(field_cond);
//             jsonObject.put("fieldList", fieldList);
//             //附件信息
//             SysBusiness sysb = new SysBusiness();
//             sysb.setBusTable("WL_WL");
//             sysb.setLimit("20");//由于调用分页方法，该属性需要有值
// //			List<SysBusiness> bList= sysBusinessService.queryBusByContion(sysb).getList();//查询业务类型
// //			String bus_id = bList.get(0).getBusId();//业务类型
//             Map<String, Object> param = new HashMap<>();
//             param.put("dataId", wym);
// //			param.put("surveyType", bus_id);
//             param.put("surveyType", "WL_WL");//物料的写死业务类型WL_WL
//             List<SysFile> files = sysFileService.queryFileBySurvey(param);
//             if (!StringUtils.isEmpty(files))
//                 jsonObject.put("files", files);
//             //缩略图
//             List<SysThumbnai> thumbnais = sysThumbnaiDao.querySysThumbnaiByCond(param);
//             if (!StringUtils.isEmpty(thumbnais))
//                 jsonObject.put("thumbnais", thumbnais);
//         }
//         return jsonObject;
//     }
//
//     /**
//      * 物料模板导出
//      *
//      * @param request
//      * @param response
//      * @author jyh
//      * @date 2017-03-20
//      */
//     @RequestMapping(value = "/exportApplyTemplate", method = RequestMethod.POST)
//     @ResponseBody
//     public void exportApplyTemplate(HttpServletRequest request, HttpServletResponse response) {
//         String template_id = request.getParameter("mb");
//         if (!StringUtils.isEmpty(template_id)) {
//             WlLbmb mb = new WlLbmb();
//             mb.setId(template_id);
//             WlLbmb wlLbmb = wlLbmbService.getWlLbmbById(mb);// 物料类别模板
//             String lbbm = wlLbmb.getLbbm();
//             WlLb wllb = new WlLb();
//             wllb.setLbbm(lbbm);
//             WlLb wlLb = wlLbService.getWlLbById(wllb);// 物料类别
//             // 类别计量单位
//             Map<String, Object> lbjldwcx = new HashMap<>();
//             lbjldwcx.put("lbbm", lbbm);
//             List<WlbmLbJldw> jldwList = wlbmLbJldwService.getWlbmLbJldwByCond2(lbjldwcx);
//             // 以下为用户自己配置的表单中的业务字段
//             Map<String, Object> field_cond = new HashMap<>();
//             field_cond.put("sfbdxs", "1");
//             List<WlwlField> fieldList = wlwlFieldService.queryWlwlFieldByCond(field_cond);
//
//             Map<String, Object> map = new HashMap<>();
//             // jyh -- 17-08-17新增(万达专有)
//             // 物料创建页面增加2个字段【轮胎认证】【ERP物料模版】已在物料动态配置字段中维护，前台页面需下拉列表展示
//             // 字段值维护在动态建模字典表中
//             boolean flag = feild_WD(fieldList);
//             if (flag) {
//                 Map<String, Object> f_cond = new HashMap<>();
//                 f_cond.put("columns", "id,C_001");
//                 f_cond.put("tableName", "T_1827");
//                 List<Map<String, Object>> field5List = jspActionDao.queryList(f_cond);// ERP物料模板
//                 //map.put("field5List", field5List);//因为值中存在"_"，打开excel提示错误，暂时不赋值
//                 map.put("field5List", null);
//             }
//             WlApplyTempalteExport export = new WlApplyTempalteExport(response, wlLb, wlLbmb, wlLbmbtzlService.getWlLbmbtzlDtoList(template_id), jldwList, fieldList, map);
//             export.createExcel();
//         }
//     }
//
//     /**
//      * 物料数据批量导入
//      *
//      * @param request
//      * @param response
//      * @author jyh
//      * @date 2017-03-20
//      */
//     @RequestMapping(value = "/batchImport", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject batchImport(@RequestParam("uploadFile") CommonsMultipartFile[] files, HttpServletResponse response, HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         boolean bool = true;
//         String info = null;
//         // String fileName = "";
//         // ExcelUtil eu=new ExcelUtil();
//         try {
//             String wlLbmbId = request.getParameter("mb");
//             MultipartFile file = files[0];
//
//             if (null == file) {
//                 bool = false;
//                 info = "\n文件上传异常！";
//             } else {
//                 InputStream input = file.getInputStream();
//                 Map<String, Object> map = wlDrService.importWlFromExcel(input, wlLbmbId);
//                 bool = (Boolean) map.get("success");
//                 info = (String) map.get("info");
//                 SysLogUtil.insertLog("批量导入物料",
//                         SysLogEnum.WL_WL.getCode(), SysLogEnum.PD.getCode(), request);
//
//             }
//
//         } catch (IOException e) {
//             // TODO Auto-generated catch block
//             // e.printStackTrace();
//             bool = false;
//             info = "\n服务器异常，请联系管理员";
//         }
//         /*
//          * if(!bool){ fileName="物料批量导入"+"@@@@"+new
//          * SimpleDateFormat("yyyyMMddHHmmssSSS") .format(new Date())+".txt"; try
//          * { eu.errTxt(info , fileName); } catch (IOException e) { // TODO
//          * Auto-generated catch block e.printStackTrace(); } }
//          */
//         jsonObject.put("success", bool);
//         jsonObject.put("info", info);
//         return jsonObject;
//     }
//
//     /*
//      * 2017-06-29 jyh 错误日志下载抽取至LogErrorsController中
//      */
//     /*
//      * @RequestMapping(value = "downLoadErr", method = RequestMethod.POST)
//      *
//      * @ResponseBody public void downLoadErr(HttpServletResponse
//      * response,HttpServletRequest request){ String fileName =
//      * request.getParameter("err_fileName"); String path =
//      * JspActionController.class.getProtectionDomain().getCodeSource()
//      * .getLocation().getPath(); String file=path.substring(1,
//      * path.indexOf("/WEB-INF/classes"))+"/error_text/"+fileName;
//      * System.out.println("file:"+file); try { InputStream inStream = new
//      * FileInputStream(file);
//      * if(request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){
//      * fileName = URLEncoder.encode(fileName, "UTF-8");//IE浏览器 }else{ fileName =
//      * new String(fileName.getBytes("UTF-8"), "ISO8859-1");//firefox浏览器 }
//      * response.reset(); response.setCharacterEncoding("UTF-8");
//      * response.setContentType("application/octet-stream; charset=UTF-8");
//      * response.addHeader("Content-Disposition", "attachment;filename=\"" +
//      * fileName + "\""); // 循环取出流中的数据 byte[] b = new byte[100]; int len;
//      * OutputStream output=response.getOutputStream(); while ((len =
//      * inStream.read(b)) > 0) output.write(b, 0, len);
//      *
//      * output.flush(); output.close(); inStream.close(); } catch
//      * (FileNotFoundException e) { e.printStackTrace(); } catch
//      * (UnsupportedEncodingException e) { } catch (IOException e) {
//      * e.printStackTrace(); } }
//      */
//
//     /**
//      * 验证是否有万达的专有字段
//      *
//      * @return
//      * @author jyh
//      * @date 2017-08-28
//      */
//     private boolean feild_WD(List<WlwlField> fieldList) {
//         boolean flag = false;
//         for (WlwlField wlwlField : fieldList) {
//             if ("field4".equals(wlwlField.getField())) {
//                 if ("select".equals(wlwlField.getFieldType()) && "轮胎认证信息（橡胶专用）".equals(wlwlField.getFieldName()))
//                     flag = true;
//             }
//         }
//         return flag;
//     }
//
//     /**
//      * 传入一个ID字符串(以,号连接的),解析后,返回ID集合
//      *
//      * @param array
//      * @return List<String>
//      * @author jyh
//      * @date 2016-09-27
//      */
//     public List<String> toList(String array) {
//         ArrayList<String> list = new ArrayList<String>();
//         if (array != null) {
//             for (String string : array.split(",")) {
//                 list.add(string);
//             }
//         }
//         return list;
//     }
//
//     /**
//      * 将数据转换为List
//      *
//      * @param array
//      * @return List<String>
//      * @author jyh
//      * @date 2016-09-27
//      */
//     public List<String> toList(String[] array) {
//         ArrayList<String> list = new ArrayList<String>();
//         if (array != null) {
//             for (String string : array) {
//                 list.add(string);
//             }
//         }
//         return list;
//     }
//
//     @RequestMapping(value = "/getCountByDelLbJldw", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject getCountByDelLbJldw(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         ResponseMsg<String> rMsg = new ResponseMsg<String>();
//         String jldwId = request.getParameter("jldwId");
//         String jldw = request.getParameter("jldw");
//         try {
//             Map<String, Object> map = new HashMap<>();
//             map.put("jldwId", jldwId);
// //			map.put("jldw", jldw);
//             int count = this.wlDrService.getCountByDelLbJldw(map);
//             rMsg.setRspCode(count);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         jsonObject.put("rmsg", rMsg);
//         return jsonObject;
//     }
//
//     @RequestMapping(value = "/getCountByLbUpdAndDel", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject getCountByLbUpdAndDel(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         ResponseMsg<String> rMsg = new ResponseMsg<String>();
//         String lbbm = request.getParameter("lbbm");
//         try {
//             Map<String, Object> map = new HashMap<>();
//             map.put("lbbm", lbbm);
//             int count = this.wlDrService.getCountByLbUpdAndDel(map);
//             rMsg.setRspCode(count);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         jsonObject.put("rmsg", rMsg);
//         return jsonObject;
//     }
//
//     @RequestMapping(value = "/queryWlDrCount", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject queryWlDrCount(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         ResponseMsg<String> rMsg = new ResponseMsg<String>();
//         String wllbmbId = request.getParameter("wllbmbId");
//         try {
//             Map<String, Object> map = new HashMap<>();
//             map.put("wl_lbmb_id", wllbmbId);
//             int count = this.wlDrService.queryWlDrCount(map);
//             rMsg.setRspCode(count);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         jsonObject.put("rmsg", rMsg);
//         return jsonObject;
//     }
//
//     public static List<String> spaceToList(String array) {
//         ArrayList<String> list = new ArrayList<String>();
//         if (array != null) {
//             for (String string : array.split(" ")) {
//                 list.add(string);
//             }
//         }
//         return list;
//     }
//
//     /**
//      * 根据条件查询物料申请历史查询和管理
//      * (为了和物料代码创建的区分开)
//      *
//      * @param request
//      * @return
//      * @author jyh
//      * @date 2016-09-26
//      */
//     @SuppressWarnings("rawtypes")
//     @RequestMapping(value = "/queryWlDr2", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject queryWlDr2(HttpServletRequest request) {
//         Map<String, Object> paramMap = RequestUtils.paramToMap(request);
//         if (!"".equals(paramMap.get("state")) && !"null".equals(paramMap.get("state")) && null != paramMap.get("state")) {
//             if ("10".equals(paramMap.get("state"))) {
//                 paramMap.put("status", "2");
//                 paramMap.put("state", "");
//             } else {
//                 paramMap.put("states", paramMap.get("state"));
//                 paramMap.put("state", "");
//             }
//         }
//         String lbbms = (String) paramMap.get("lbbms");
//         if (!StringUtils.isEmpty(lbbms))
//             paramMap.put("lbbmArray", StringUtil.toList(lbbms));
//         String lbbm = (String) paramMap.get("lbbm");
//         String lbbmx = (String) paramMap.get("lbbmx");
//         if (StringUtils.isEmpty(lbbm))
//             paramMap.put("lbbm", lbbmx);
//         String qcs = (String) paramMap.get("qcs");
//         if (!StringUtils.isEmpty(qcs))
//             paramMap.put("qcArray", spaceToList(qcs));
//         if ("true".equals((String) paramMap.get("submitflag"))) {// 物料代码申请列表查询，只能查询当前登录人
//             SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//             paramMap.put("creator_id", user.getUserId());
//         }
//         String systemCode = sysParameterService.getSysParamValue("systemCode", "MDM");// 获取系统参数systemCode，如果返回值为空则默认返回值为"MDM"
//         if ("WanDa".equals(systemCode)) {
//             paramMap.put("wandaextr1", "true");//万达特殊需求，查询过滤92大类
//         }
//         PageInfo pageInfo = wlDrService.queryWlDr(paramMap);
//         wlDrListByExport = pageInfo.getList();
//         wlDrmap = paramMap;
//         JSONObject jsonObject = new JSONObject();
//         jsonObject.put("rows", pageInfo.getList());
//         jsonObject.put("total", pageInfo.getTotal());
//         return jsonObject;
//     }
//
//     /**
//      * 导出当前页数据
//      *
//      * @param request
//      * @return
//      
//      * @date 2018-02-01
//      */
//     @RequestMapping(value = "wlDrExportExcel", method = RequestMethod.POST)
//     @ResponseBody
//     public String wlDrExportExcel(HttpServletResponse response, HttpServletRequest request) {
//         //查询是否表单显示的配置字段
//         List<WlwlField> fieldList = this.getWlwlFieldsByLb();
//         if (wlDrListByExport.size() > 0 && wlDrListByExport != null) {
//             wlDrService.exportWlDr(wlDrListByExport, fieldList, response);
//         }
//         return null;
//     }
//
//     /**
//      * 导出所有数据
//      *
//      * @param
//      * @param
//      * @return
//      
//      * @date 2018-02-01
//      */
//     @RequestMapping(value = "wlDrExportExcel2", method = RequestMethod.POST)
//     @ResponseBody
//     public String wlDrExportExcel2(HttpServletResponse response, HttpServletRequest request) {
//         String start = request.getParameter("Second_PageHelper");
//         String end = request.getParameter("First_PageHelper");
//         //查询是否表单显示的配置字段
//         List<WlwlField> fieldList = this.getWlwlFieldsByLb();
//         if (!StringUtils.isEmpty(start) && !StringUtils.isEmpty(end)) {
//             wlDrmap.put("pageNum", start);
//             wlDrmap.put("limit", end);
//             PageInfo pageInfo = wlDrService.queryWlDr(wlDrmap);
//             List l = pageInfo.getList();
//             if (l.size() > 0 && l != null) {
//                 wlDrService.exportWlDr(l, fieldList, response);
//             }
//         }
//         return null;
//     }
//
//     /**
//      * 转向物料参照申请页面
//      *
//      * @return
//      * @author jiangyh
//      * @date 2017-02-14
//      */
//     @RequestMapping(value = "/toWlDrCZ", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject toWlDrCZ(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         String wym = request.getParameter("wym");
//         String template_id = request.getParameter("template_id");
//         WlDr wldr = wlDrService.getWlDrByWym(wym);
//         Map<String, Object> Fcond = new HashMap<>();
//         Fcond.put("wl_dr_id", wldr.getWym());
//         Wlwl wlwl = wlwlService.queryWlwlByCond(Fcond).get(0);
//         wldr.setField10(wlwl.getField10());
//         WlLb wllb = new WlLb();
//         wllb.setLbbm(wldr.getLbbm());
//         WlLb wlLb = wlLbService.getWlLbById(wllb);
//         List<WlLbmb> templates = wlLbmbService.getAllValidWlLbmbByLbbm(wlLb.getLbbm());// 类别模板数据
//         template_id = template_id == null ? wldr.getWlLbmbId() : template_id;
//         WlLbmb cond_mb = new WlLbmb();
//         cond_mb.setId(template_id);
//         WlLbmb wlLbmb = wlLbmbService.getWlLbmbById(cond_mb);
//         jsonObject.put("wlDr", wldr);
//         jsonObject.put("wlLb", wlLb);
//         jsonObject.put("templateList", templates);
//         jsonObject.put("currTemplate", wlLbmb);
//         return jsonObject;
//     }
//
//     public List<WlwlField> getWlwlFieldsByLb() {
//         // 可配置物料字段
//         Map<String, Object> field_cond = new HashMap<>();
//         field_cond.put("sflbxs", "1");
//         List<WlwlField> fieldList = wlwlFieldService.queryWlwlFieldByCond(field_cond);
//         return fieldList;
//     }
//
//     @RequestMapping(value = "/getWlwlFieldsByLb", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject getWlwlFieldsByLb(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         //查询是否表单显示的配置字段
//         List<WlwlField> fieldList = this.getWlwlFieldsByLb();
//         if (fieldList.size() > 0) {
//             jsonObject.put("fieldList", fieldList);
//         }
//         return jsonObject;
//     }
//
//     @RequestMapping(value = "/getWLAllField", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject getWLAllField(String pageType) {
//         JSONObject jsonObject = new JSONObject();
//
//         //--提取出所有的物料配置列表显示的字段信息
//         Map<String, Object> field_cond = new HashMap<>();
//         //field_cond.put("sflbxs", "1");
//         List<WlwlField> configFieldList = wlwlFieldService.queryWlwlFieldByCond(field_cond);
//         jsonObject.put("configFieldList", configFieldList);
//
//         if ("approve".equals(pageType)) {
//             //--审核页面默认展示的字段
//             String defaultValue = "YNO@审核意见@错误类型@提交类型@唯一码@物料编码@类别代码@物料描述@物料短描述@计量单位@类别名称@备注@提交时间@提交人@审批意见@所属单位@提示信息";
//             //String wlApproveFields = SysParamUtil.getParameterValue("wlApproveFields", defaultValue);
//             String wlApproveFields = sysParameterService.getSysParamValue("wlApproveFields", defaultValue);
//             jsonObject.put("wlApproveFields", wlApproveFields);
//         }
//
//         jsonObject.put("success", true);
//         return jsonObject;
//     }
//
//     @RequestMapping(value = "/queryTzlSerarchByLbAndMb", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject queryTzlSerarchByLbAndMb(HttpServletRequest request) {
//         String lbbm = request.getParameter("lbbm");
//         WlLb wLlb = new WlLb();
//         wLlb.setLbbm(lbbm);
//         WlLb wlLb2 = wlLbService.getWlLbById(wLlb);
//         String wlLbId = "";
//         if (wlLb2 != null) {
//             wlLbId = JSON.toJSONString(wlLb2.getLbbmId());
//         }
//
//         JSONObject jsonObject = new JSONObject();
//         if (!StringUtils.isEmpty(wlLbId)) {
// 			/*WlLb wllb = new WlLb();
// 			wllb.setLbbmId(wlLbId);
// 			WlLb wlLb = wlLbService.getWlLbById(wllb);*/
//             List<WlLbmb> templates = wlLbmbService.getAllValidWlLbmbByLbbm(wlLb2.getLbbm());// 类别模板数据
//             jsonObject.put("wlLb", wlLb2);
//             jsonObject.put("templateList", templates);
//         }
//         return jsonObject;
//     }
//
//     /**
//      * 删除前检查是否可以删除
//      */
//     @SuppressWarnings("unchecked")
//     @RequestMapping(value = "/checkCanDelete", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject checkCanDelete(HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         try {
//             String wyms = request.getParameter("wyms");
//             int result = wlDrService.checkCanDelete(wyms);
//             if (result == 0)
//                 jsonObject.put("canDelete", true);
//             else
//                 jsonObject.put("canDelete", false);
//         } catch (Exception e) {
//             jsonObject.put("canDelete", false);
//             e.printStackTrace();
//         }
//         return jsonObject;
//
//     }
// }
